1. Field of the Invention
The present invention is directed generally toward a method and system for updating test instruments and, more specifically, to a method and system for distributing test recipes to a plurality of different test instruments with minimum disruption of testing operations.
2. Description of Related Art
Electronic device manufacturers typically produce mass quantities of integrated circuits and other such electronic circuit components that will be included in electronic devices eventually sold to end users. Due to the volume of electronic components manufactured, several production testing devices are situated throughout the production floor to conduct tests on a suitably large sample of the electronic components to provide reasonable assurance that the electronic components as a whole function as designed. Depending on the extent of the tests performed on each electronic component the time required to perform said tests in some production environments commonly ranges from about ten (10) minutes to sixty (60) minutes, and even longer.
Each testing device includes the required hardware to interface with the electronic component to be tested, referred to herein as a device under test, and measure the value of an electrical property of the device under test that indicates whether the device under test operates as designed. Each testing device is also provided with what is commonly referred to as a test recipe, which defines the parameters and steps of the tests to be performed on each device under test. The test recipe is stored locally within a computer-readable memory provided to the testing device, allowing the testing device to readily gain access to the test recipe for execution with minimal delays and without relying on external influences such as communications from other networked components. However, the device under test can change to a different electronic component, standards that an existing device under test must meet to pass the test can change over time, for example. Such circumstances occasionally require an existing test recipe stored by the testing devices to be updated, or a new test recipe to be communicated to the testing devices.
Conventionally, to create an updated or new test recipe developers develop the test recipes on a workstation and place the updated or new test recipe in a queue of test recipes to be delivered to each of the testing devices. However, delivery of the updated or new test recipe from the queue to the local memory provided to each of the testing devices is not started until a test already being performed on a device under test when the test recipe is placed in the queue is completed. Only after the test in progress is completed can delivery of the test recipe in the queue to the local memory of the testing devices commence.
Test recipes, however, can be large in size, often times reaching several megabytes or more, particularly when there are more than a single test recipe in the queue awaiting delivery to the testing devices. Transmitting files of this size to the local memory of even one of the testing devices can be very time consuming, often exceeding several minutes to complete. Further, all testing devices must be provided with the same test recipes to ensure uniform test results are returned by all of the testing devices. When delivery of new or updated test recipes to a testing device is scheduled, delivery of those test recipes commences once the testing device has become idle. Subsequent tests to be conducted by the testing device are delayed until all such test recipes have been delivered to that testing device. The several minutes of delay multiplied by the number of testing devices results in lengthy downtimes across the collection of testing devices often exceeding several hours in length. Moreover, when developers place updated or new test recipes in the queue to be delivered to the testing devices, test recipes can only be placed in the queue one at a time. If one developer is placing several test recipes in the queue for delivery, then other developers who also want to place test recipes in the queue must wait until the first developer's test recipes are all placed in the queue before placing their test recipes in the queue. This creates a line of traffic to place all of the test recipes in the queue and adds further delays to the test recipe development and delivery process.
Accordingly, there is a need in the art for a method and system for delivering test recipes to a testing device for testing electronic components. The method and system can minimize downtime of the testing device required to update and deliver new test recipes to a local memory, and can optionally commence a test operation on a device under test while awaiting delivery of, or completion of a delivery of a test recipe.